package com.club.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.club.entity.Club;

import java.util.List;

/**
 * 社团服务接口
 */
public interface ClubService extends IService<Club> {
    
    /**
     * 创建社团
     * @param club 社团信息
     * @return 是否创建成功
     */
    boolean createClub(Club club);
    
    /**
     * 更新社团信息
     * @param club 社团信息
     * @return 是否更新成功
     */
    boolean updateClub(Club club);
    
    /**
     * 删除社团
     * @param clubId 社团ID
     * @return 是否删除成功
     */
    boolean deleteClub(Long clubId);
    
    /**
     * 根据负责人ID查询社团列表
     * @param leaderId 负责人ID
     * @return 社团列表
     */
    List<Club> getClubsByLeaderId(Long leaderId);
    
    /**
     * 根据用户ID查询加入的社团列表
     * @param userId 用户ID
     * @return 社团列表
     */
    List<Club> getClubsByUserId(Long userId);
    
    /**
     * 查询所有社团列表
     * @param status 状态筛选，可为空
     * @return 社团列表
     */
    List<Club> getAllClubs(Integer status);
}